var express = require('express');
var router = express.Router();
var starModel = require('../database/models/starModel')
/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});


//自定义一个数据接口
router.get('/hello', function(req, res, next) {
  res.send('Hello Express');
});

//新增明星
router.post('/star', async function(req, res, next) {
  // 1. 接收客户端数据包 req.body
  // let star = {name:'马保国',score:90}  //模拟客户端数据
  let star = req.body   //提取客户端数据

  // 2. 调用数据库model，将客户端数据录入数据库
  let result = await new starModel(star).save()   //新建一条数据对象并存储
  console.log(result); 
  
  // 3. 给客户端下发结果
  if(result._id){
    res.send({
      code:200,
      msg:'明星新增成功'
    })
  }
});

//查询明星
router.get('/star',async (req,res)=>{
  // 1. 查询数据库
  let result = await starModel.find()

  // 2. 给客户端下发数据
  res.send({
    code:201,
    msg:'查询成功',
    data:result
  })
})

//更新明星数据
router.put('/star', async function(req, res, next) {
  // 1. 接收客户端数据包 req.query 作为条件 req.body 作为新数据
  let id = req.query.id  
  // 2. 调用数据库model，将客户端数据更新至数据库
  let result = await starModel.updateOne(
    {_id:id},  //更新条件
    req.body   //req.body必须是想要更新的数据包对象
  )
  console.log('更新结束',result);
  
  // 3. 给客户端下发结果
  let message = result.n==1 ? '更新成功' : '更新失败'
  res.send({
    code:result.n,
    msg:message
  })
});


//删除明星数据
router.delete('/star',async (req,res)=>{
  // 1. 接收客户端提交的被删除的数据唯一id，并删除
  let id = req.query.id
  let result = await starModel.remove({_id:id})
  console.log('删除结果',result);
  
  // 2. 给客户端下发数据
  let message = result.n==1 ? '删除成功' : '删除失败'
  res.send({
    code:result.n,
    msg:message
  })
})




module.exports = router;
